<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=ISO-8859-1"%>
<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>
<%@ taglib uri="/WEB-INF/spring.tld" prefix="spring" %>

<%@ page import="java.util.Iterator" %>


<%@ page import="delphorm.entite.questionnaire.*" %>

<%@ page isELIgnored="false" %>


<!-- utilisation du questionnaire situé dans la session -->
<%
Questionnaire questionnaire = (Questionnaire)request.getSession().getAttribute("questionnaire");
%>

<!--affichage des données du questionnaire-->
<table class="tableau">
  <thead>
  	<tr>
  		<td>Nom de l'attribut</td>
  		<td>Valeur</td>
  		<td>Action</td>
  	</tr>
  </thead>
  <tbody>
    <tr>
      <td class="infos">
      	Titre
      </td>
      <td class="infos">
      	<%=questionnaire.getTitre()%><br/>
      </td>
      <td rowspan="2" colspan=1  class="action">
      	<ul>
      		<li><a href="./editerQuestionnaire.html">Editer ces informations</a></li>
      		<li><a href="./droitsProprietaireQuestionnaire.html">Gestion de vos droits</a></li>
      		<li><a href="./droitsAutresQuestionnaire.html">Gestion des droits des autres</a></li>
      		<li><a href="./droitsGroupesQuestionnaire.html">Gestion des droits des groupes</a></li>
      		<li><a href="./ajouterQuestion.html">Ajouter une question</a></li>
      		<li><a href="./enregistrerQuestionnaire.html">Enregistrer le questionnaire</a></li>
      	</ul>
      </td>
    </tr>
    <tr>
      <td class="infos">
      	Informations
      </td>
      <td class="infos">	
      	<%=questionnaire.getInfo()%>
      </td>
    </tr>
  </tbody>
</table>

	
<!-- affichage des réponses -->
	<%
	Iterator itQuestions = questionnaire.getQuestions().iterator();
	if(itQuestions.hasNext())
	{
	%>
		<h2>Liste des Questions:</h2>
   		<%
   		int cptQuestion = 0;
		while(itQuestions.hasNext())
		{
			Question question = (Question)itQuestions.next();
			%>
			
			<table class="tableau">
				<thead>
				  	<tr>
				  		<td>Nom de l'attribut</td>
				  		<td>Valeur</td>
				  		<td>Action</td>
				  	</tr>
  				</thead>
  				<tbody>
    				<tr>
      					<td colspan="3" rowspan="1" class="infos titretab"><a name="question<%=cptQuestion%>"></a>Champs de la question <%=cptQuestion%></td>
    				</tr>
    				<tr>
			    	  <td class="infos">
			      		Intitule
			     	  </td>
			      <td class="infos">
			      	<%=question.getIntitule()%><br/>
			      </td>
			      <td rowspan="4" class="action">
			      	<ul>
			      		<li><a href="./deplacerQuestion.html?numeroquestion=<%=cptQuestion%>&amp;direction=haut">Monter</a></li>
			      		<li><a href="./deplacerQuestion.html?numeroquestion=<%=cptQuestion%>&amp;direction=bas">Descendre</a></li>
			      		<li><a href="./editerQuestion.html?numeroquestion=<%=cptQuestion%>">Modifier</a></li>
			      		<li><a href="./supprimerQuestion.html?numeroquestion=<%=cptQuestion%>">Supprimer</a></li>
			      		<li><a href="./ajouterReponse.html?numeroquestion=<%=cptQuestion%>">Ajouter une réponse</a></li>
			      	</ul>	      	
			      </td>
			    </tr>
			    <tr>
			      <td class="infos">
			      	Consigne
			      </td>
			      <td class="infos">
			      	<%=question.getConsigne()%>
			      </td>
			    </tr>
			    <tr>
			      <td class="infos">
			      	Réponses
			      </td>
			      <td class="infos"> 
			      	(<%=question.getMaxReponses()%>-<%=question.getMinReponses()%>)
			      </td>
			    </tr>
			    <tr>
			      <td class="infos">
			      	Type
			      </td>
			      <td class="infos">
			      	<% 
			  		if (question.getOrdonnee().booleanValue() == false)
			  		{
			  		%>
			  			Non ordonnée<br/>
			  		<%
			  		}
			  		else
			  		{%>
			  			Ordonnée<br/>
			  		<%
			  		}
			  		%>	
			      </td>
			    </tr>
			</tbody>
			</table>
	  		<%
	  		
			Iterator itReponse = question.getReponses().iterator();
			int cptReponse = 0;
			if(itReponse.hasNext())
			{
			%>
				<table class="tableau">
				<thead>
				  	<tr>
				  		<td>Type de déponse</td>
				  		<td>Affichage</td>
				  		<td>Action</td>
				  	</tr>
  				</thead>
  				<tbody>
    				
    			<%
				while(itReponse.hasNext())
				{
				%>
					<tr>
      					<td colspan="3" rowspan="1" class="infos titretab"><a name="reponse<%=cptQuestion%>_<%=cptReponse%>"></a>Réponse <%=cptReponse%> de la question <%=cptQuestion%></td>
    				</tr>
					<tr>
						<td class="infos">
							<%
							Reponse reponse = (Reponse)itReponse.next();
							if(reponse.getType().equals("ouverte"))
					 		{
						 	%>
						 		Ouverte 
						 	<%
						 	}
						 	else
						 	{
						 		%>
						 		Fermée 
						 		<%
						 	}
					 		if(reponse.getTypeDeDonnees().equals(new Character('N')))
					 		{
					 			
					 			%>
					 			Numérique
					 			<%
					 		}
					 		else if(reponse.getTypeDeDonnees().equals(new Character('T')))
					 		{
					 			%>
					 			Texte
					 			<%
					 		}
					 		else if(reponse.getTypeDeDonnees().equals(new Character('F')))
					 		{
					 			%>
					 			Fichier
					 			<%
					 		}
					 		if(question.getOrdonnee().booleanValue() == true)
						 	{
						 	%>
						 		&nbsp;Ordonnée
						 	<%
						 	}
					 		if(reponse.getType().equals("ouverte"))
					 		{
					 			ReponseOuverte reponseOuverte = (ReponseOuverte)reponse;
					 			if(reponseOuverte.getFiltre() != null)
					 			{
					 			%>
					 				<p>Filtre:</p>
					 				<ul>
					 			<%
					 				if(reponseOuverte.getTypeDeDonnees().equals(new Character('N')))
					 				{
					 					FiltreNumerique filtreNumerique = (FiltreNumerique)reponseOuverte.getFiltre();
					 					if(filtreNumerique.getFacultative().booleanValue() == true)
					 					{
					 					%>	
							 				<li>Valeur facultative</li>
							 			<%
					 					}
					 					else
					 					{
					 					%>	
							 				<li>Valeur obligatoire</li>
							 			<%
					 					}
					 					if(filtreNumerique.getType().equals(new Character('E')))
					 					{
					 					%>	
							 				<li>Valeur entière</li>
							 			<%	
					 					}
					 					else
					 					{
					 					%>	
							 				<li>Valeur réelle</li>
							 			<%	
					 					}
					 					%>
					 					<li>Valeur minimum: <%=filtreNumerique.getMinimum() %></li>
					 					<li>Valeur maximum: <%=filtreNumerique.getMaximum() %></li>
					 					<li>Message d'aide: <%=filtreNumerique.getMessageAide()%></li>
					 				<%
					 				}// fin if numerique
					 				else if(reponseOuverte.getTypeDeDonnees().equals(new Character('T')))
					 				{
					 					FiltreTexte filtreTexte = (FiltreTexte)reponseOuverte.getFiltre();
					 					if(filtreTexte.getFacultative().booleanValue() == true)
					 					{
					 					%>	
							 				<li>Valeur facultative</li>
							 			<%
					 					}
					 					else
					 					{
					 					%>	
							 				<li>Valeur obligatoire</li>
							 			<%
					 					}
					 					%>
					 					<li>Expression régulière: <%=filtreTexte.getExpressionReguliere() %></li>
					 					<li>Taille maximum: <%=filtreTexte.getTailleMaximum()%></li>
					 					<li>Taille minimum: <%=filtreTexte.getTailleMinimum()%></li>
					 					<li>Message d'aide: <%=filtreTexte.getMessageAide()%></li>
					 				<%
					 				}
					 				%>
					 				</ul>
					 			<%
					 			} // fin if filtre
					 		} // fin if ouverte
					 		%>
					  </td>
				      <td class="infos">
					    <%
						if(question.getOrdonnee().booleanValue() == true)
					 	{%>
					 		<select name="reponse">
					 		<option>Non évalué</option><%
					 		for(int i=1; i<=question.getMaxReponses().intValue(); i++)
					 		{%>
								<option><%= i %></option>
							<%					
					 		}
					 		%>
					 		</select>
					 		<%
					 	}
					 	else if(question.getMaxReponses().intValue() == 1 && question.getMinReponses().intValue()==1)
					 	{%>
					 		<input name="reponse" value="1" type="radio"/>
					 	<%
					 	}
					 	else
					 	{%>
					 		<input name="reponse" value="1" type="checkbox"/>
					 	<%
					 	}
					 	
					 	if(reponse.getType().equals("ouverte"))
					 	{
					 		ReponseOuverte reponseouverte = (ReponseOuverte)reponse;
					 		if(reponse.getTypeDeDonnees().equals(new Character('F')))
					 		{
					 				%>
					 				<input type="file" name="fichier" value="choisir un fichier"/>
					 				<%
					 		}
					 		else
					 		{
					 		%>
					 			<input name="reponse" type="text"/>
					 		<%
					 		}
					 		%>
					 		<%=reponseouverte.getIntitule()%>
					 	<%
					 	}
					 	else
					 	{
					 		ReponseFermee reponsefermee = (ReponseFermee)reponse;
					 		if(reponsefermee.getTypeDeDonnees().equals(new Character('T')))
					 		{
					 			ValeurTexte valeur = (ValeurTexte)reponsefermee.getValeur();
					 			%>
					 			<%=valeur.getValeur()%>
					 			<%
					 		}
					 		else if(reponsefermee.getTypeDeDonnees().equals(new Character('N')))
					 		{
					 			ValeurNumerique valeur = (ValeurNumerique)reponsefermee.getValeur();
					 			%>
					 			<%=valeur.getValeur()%>
					 			<%
					 		}
					 		else if(reponsefermee.getTypeDeDonnees().equals(new Character('F')))
					 		{
					 			ValeurFichier valeur = (ValeurFichier)reponsefermee.getValeur();
					 			%>
					 			<a href="telechargerFichier.html"><%=valeur.getNomFichier()%></a>
					 			<%
					 		}
					 	}
					 	%>
				 	</td>
				 	<td class="action">
				 		<ul>
					 		<li><a href="./deplacerReponse.html?numeroreponse=<%=cptReponse%>&amp;numeroquestion=<%=cptQuestion%>&amp;direction=haut">Monter</a></li>
				      		<li><a href="./deplacerReponse.html?numeroreponse=<%=cptReponse%>&amp;numeroquestion=<%=cptQuestion%>&amp;direction=bas">Descendre</a></li>
				      		<li><a href="./editerReponse.html?numeroquestion=<%=cptQuestion%>&amp;numeroreponse=<%=cptReponse%>">Modifier</a></li>
				      		<li><a href="./supprimerReponse.html?numeroquestion=<%=cptQuestion%>&amp;numeroreponse=<%=cptReponse%>">Supprimer</a></li>
				      		<%
				      		if(reponse.getType().equals("ouverte"))
						 	{
						 		ReponseOuverte reponseouverte = (ReponseOuverte)reponse;
					      		if(reponseouverte.getTypeDeDonnees().equals(new Character('N')))
						 		{
					      			if(reponseouverte.getFiltre() == null)
					      			{
						 			%>
						 				<li><a href="./ajouterFiltreReponseOuverteNumerique.html?numeroquestion=<%=cptQuestion%>&amp;numeroreponse=<%=cptReponse%>">Ajouter un filtre</a></li>
						 			<%
					      			}
					      			else
					      			{
					      			%>
						 				<li><a href="./ajouterFiltreReponseOuverteNumerique.html?numeroquestion=<%=cptQuestion%>&amp;numeroreponse=<%=cptReponse%>">Modifier le filtre</a></li>
						 			<%	
					      			}
						 		}
					      		else if(reponseouverte.getTypeDeDonnees().equals(new Character('T')))
						 		{
					      			if(reponseouverte.getFiltre() == null)
					      			{
						 			%>
						 				<li><a href="./ajouterFiltreReponseOuverteTexte.html?numeroquestion=<%=cptQuestion%>&amp;numeroreponse=<%=cptReponse%>">Ajouter un filtre</a></li>
						 			<%
					      			}
					      			else
					      			{
					      			%>
						 				<li><a href="./ajouterFiltreReponseOuverteTexte.html?numeroquestion=<%=cptQuestion%>&amp;numeroreponse=<%=cptReponse%>">Modifier le filtre</a></li>
						 			<%	
					      			}
						 		}
					      			
						 	}
				      		%>
				      	</ul>	 
			      	</td>
			    </tr> 
				 <%
				 	cptReponse++;
				 } //fin while reponse
				 %>
				 </tbody>
				 </table>	
				 <br/><br/><br/>			 
			<%
			} //fin if hasReponse
			cptQuestion++;
		} //fin while question
	} // fin if%>  	